package com.gzc.just.play.last.war.common.share.performance;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * Performance monitoring annotation
 * Mark methods that need to be monitored
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface Monitored {
    
    /**
     * Monitor name
     */
    String value() default "";
    
    /**
     * Whether to log parameters
     */
    boolean logParameters() default false;
    
    /**
     * Whether to log result
     */
    boolean logResult() default false;
    
    /**
     * Slow method threshold (milliseconds)
     */
    long thresholdMs() default 1000;
}